#pragma once

typedef BOOLEAN(*Q_EX_ENUMERATE_HANDLE_ROUTINE_WIN7)(PHANDLE_TABLE_ENTRY, HANDLE, HANDLE);

typedef BOOLEAN(*Q_EX_ENUMERATE_HANDLE_ROUTINE_WINX)(PHANDLE_TABLE, PHANDLE_TABLE_ENTRY, HANDLE, HANDLE);

auto ExEnumHandleTable_Win7(PHANDLE_TABLE, Q_EX_ENUMERATE_HANDLE_ROUTINE_WIN7, HANDLE, PHANDLE)->BOOLEAN;

auto ExEnumHandleTable_WinX(PHANDLE_TABLE, Q_EX_ENUMERATE_HANDLE_ROUTINE_WINX, HANDLE, PHANDLE)->BOOLEAN;

auto ExfUnblockPushLock(PEX_PUSH_LOCK, LPVOID)->BOOLEAN;

auto HandleCallback_Win7(PHANDLE_TABLE_ENTRY, HANDLE, HANDLE)->BOOLEAN;

auto HandleCallback_WinX(PHANDLE_TABLE, PHANDLE_TABLE_ENTRY, HANDLE, HANDLE)->BOOLEAN;

auto HandleGrantAccess(PEPROCESS, HANDLE)->NTSTATUS;